package com.java.yz.day12.ketang;

//第二种异常的处理方式throws
//定义功能方法时，需要把出现的问题暴露出来让调用者去处理。那么就通过throws在方法上标识。
public class ExceptionDemo4 {
    public static void main(String[] args) {
        try {
            fun();//调用这个方法时就会报错，这是可以使用throws把错误抛出来,然后使用try..catch解决
        }catch (Exception e ){
            e.printStackTrace();
        }
        System.out.println("hello");
    }
    public static void fun() throws Exception{
        int a = 10;
        int b = 0;
        System.out.println(a/b);
    }

    public static void fun1() throws Exception{
        int c=20;
        int d = 0;
        if (d==0){
            throw new Exception();
        }else {
            System.out.println(c/d);
        }
    }


    /*throws与throw区别
        throws
            用在方法声明后面，跟的是异常类名
            可以跟多个异常类名，用逗号隔开
            表示抛出异常，由该方法的调用者来处理
            throws表示出现异常的一种可能性，并不一定会发生这些异常
        throw
            用在方法体内，跟的是异常对象名
            只能抛出一个异常对象名
            表示抛出异常，由方法体内的语句处理
            throw则是抛出了异常，执行throw则一定抛出了某种异常
     */
}
